.\" $OpenBSD: zyd.4,v 1.22 2007/05/24 02:49:57 cnst Exp $
.\" $NetBSD: zyd.4,v 1.1 2007/06/09 11:20:55 kiyohara Exp $
.\"
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\"    may be used to endorse or promote products derived from this software
.\"   without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd November 10, 2024
.Dt ZYD 4
.Os
.Sh NAME
.Nm zyd
.Nd ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless network driver
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device ehci"
.Cd "device uhci"
.Cd "device ohci"
.Cd "device usb"
.Cd "device zyd"
.Cd "device wlan"
.Cd "device wlan_amrr"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
if_zyd_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides support for wireless network adapters based around
the ZyDAS ZD1211 and ZD1211B USB chips.
.Pp
.Nm
supports
.Cm station
and
.Cm monitor
mode operation.
Only one virtual interface may be configured at any time.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh HARDWARE
The following devices are known to be supported by the
.Nm
driver:
.Pp
.Bl -bullet -offset indent -compact
.It
3COM 3CRUSB10075
.It
Acer WLAN-G-US1
.It
Airlink+ AWLL3025
.It
Airlink 101 AWLL3026
.It
AOpen 802.11g WL54
.It
Asus A9T integrated wireless
.It
Asus WL-159g
.It
Belkin F5D7050 v.4000
.It
Billion BiPAC 3011G
.It
Buffalo WLI-U2-KG54L
.It
CC&C WL-2203B
.It
DrayTek Vigor 550
.It
Edimax EW-7317UG
.It
Edimax EW-7317LDG
.It
Fiberline Networks WL-43OU
.It
iNexQ UR055g
.It
Linksys WUSBF54G
.It
Longshine LCS-8131G3
.It
MSI US54SE
.It
MyTek MWU-201 USB adapter
.It
Philips SNU5600
.It
Planet WL-U356
.It
Planex GW-US54GZ
.It
Planex GW-US54GZL
.It
Planex GW-US54Mini
.It
Safecom SWMULZ-5400
.It
Sagem XG 760A
.It
Sagem XG 76NA
.It
Sandberg Wireless G54 USB
.It
Sitecom WL-113
.It
SMC SMCWUSB-G
.It
Sweex wireless USB 54 Mbps
.It
Tekram/Siemens USB adapter
.It
Telegent TG54USB
.It
Trendnet TEW-424UB rev A
.It
Trendnet TEW-429UB
.It
TwinMOS G240
.It
Unicorn WL-54G
.It
US Robotics 5423
.It
X-Micro XWL-11GUZX
.It
Yakumo QuickWLAN USB
.It
Zonet ZEW2501
.It
ZyXEL ZyAIR G-202
.It
ZyXEL ZyAIR G-220
.El
.Sh EXAMPLES
The following
example configures zyd0 to join any BSS network using WEP key
.Dq 0x1deadbeef1 ,
channel 11:
.Bd -literal -offset indent
ifconfig wlan create wlandev zyd0 channel 11 \e
    wepmode on wepkey 0x1deadbeef1 weptxkey 1 \e
    inet 192.0.2.20/24
.Ed
.Pp
Join an existing BSS network,
.Ar my_net :
.Bd -literal -offset indent
ifconfig wlan create wlandev zyd0 192.0.2.20/24 \e
    ssid my_net
.Ed
.Sh DIAGNOSTICS
.Bl -diag
.It "zyd%d: could not load firmware (error=%d)"
An error occurred while attempting to upload the firmware to the onboard
microcontroller unit.
.It "zyd%d: could not send command (error=%s)"
An attempt to send a command to the firmware failed.
.It "zyd%d: sorry, radio %s is not supported yet"
Support for the specified radio chip is not yet implemented in the driver.
The device will not attach.
.It "zyd%d: device version mismatch: 0x%x (only >= 43.30 supported)"
Early revisions of the ZD1211 chipset are not supported by this driver.
The device will not attach.
.It "zyd%d: device timeout"
A frame dispatched to the hardware for transmission did not complete in time.
The driver will reset the hardware.
This should not happen.
.El
.Sh SEE ALSO
.Xr intro 4 ,
.Xr netintro 4 ,
.Xr usb 4 ,
.Xr wlan 4 ,
.Xr wlan_amrr 4 ,
.Xr wlan_ccmp 4 ,
.Xr wlan_tkip 4 ,
.Xr wlan_wep 4 ,
.Xr networking 7 ,
.Xr ifconfig 8 ,
.Xr wpa_supplicant 8
.Sh AUTHORS
.An -nosplit
The original
.Nm
driver was written by
.An Florian Stoehr Aq Mt ich@florian-stoehr.de ,
.An Damien Bergamini Aq Mt damien@openbsd.org ,
and
.An Jonathan Gray Aq Mt jsg@openbsd.org .
.Sh CAVEATS
The
.Nm
driver does not support a lot of the functionality available in the hardware.
More work is required to properly support the IBSS and power management
features.
